Improving Mutation Testing Process of Python Programs
نویسندگان
چکیده
Mutation testing helps in evaluation of test suite quality and test development. It can be directed to programs of different languages. High cost of a mutation testing process limits its applicability. This paper focuses on mutation testing of Python programs, discussing several issues of mutant creation and execution. It was showed how they can be effectively handled in the Python environment. We discuss introduction of first and higher order mutation in an abstract syntax tree with use of generators, dealing with code coverage with AST, executing mutants via mutant injection into tests. The solutions were used in reengineering of MutPy a mutation testing tool for Python programs. The improvements were positively verified in mutation experiments.
منابع مشابه
Analysis of Mutation Operators for the Python Language
A mutation introduced into a source code of a dynamically typed program can generate an incompetent mutant. Such a mutant manifests a typerelated error that cannot be detected before the mutant execution. To avoid this problem, a program mutation can be provided at run-time, or incompetent mutants should be automatically detected and eliminated. We showed that the latter solution can effectivel...
متن کاملFinding Errors in Python Programs Using Dynamic Symbolic Execution
For statically typed languages, dynamic symbolic execution (also called concolic testing) is a mature approach to automated test generation. However, extending it to dynamic languages presents several challenges. Complex semantics, fragmented and incomplete type information, and calls to foreign functions lacking precise models make symbolic execution difficult. We propose a symbolic execution ...
متن کاملمروری بر روش های تولید داده های آزمون در آزمون جهشی
The Spurt is led to increasing the workload for software engineers in context of producing reliable software. Given the importance of producing high quality software, software engineers created an independent process in cycle of software development that called Software Testing. One of the software testing methods that a lot of researches have been done on it is Mutation Testing. Most of the re...
متن کاملOn the performance of the Python programming language for serial and parallel scientific computations
This article addresses the performance of scientific applications that use the Python programming language. First, we investigate several techniques for improving the computational efficiency of serial Python codes. Then, we discuss the basic programming techniques in Python for parallelizing serial scientific applications. It is shown that an efficient implementation of the array-related opera...
متن کاملHigh-Level Parallel Software Development with Python and BSP
One of the main obstacles to a more widespread use of parallel computing in science is the difficulty of implementing, testing, and maintaining parallel programs. The combination of a simple parallel computation model, BSP, and a high-level programming language, Python, simplifies these tasks significantly. It allows the rapid development facilities of Python to be applied to parallel programs,...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015